package com.neusoft.exercise;

/**
 * 这个是第一个做的，应该可以再变变
 * 定义温度类，实现华氏温度和摄氏温度转换
 */
//DecimalFormat适用于十进制数字的格式化
import java.text.DecimalFormat;

public class Temperature {
	// 定义两个浮点型变量用来存摄氏温度和华氏温度
	// dCentTemp 摄氏温度
	// dFahrenTemp 华氏温度
	double dCentiTemp = 0;
	double dFahrenTemp = 0;

	public static void main(String[] args) {
		//创建一个Temperature实例
		Temperature temp = new Temperature();
		// 数字格式的实例化 -创建对象？
		DecimalFormat df = new DecimalFormat("#######0.0");
		// 给定一个摄氏温度，调用方法转换为华氏温度
		temp.dCentiTemp = 34.53;
		temp.dFahrenTemp = changeCenti2Fahren(temp.dCentiTemp);
		// df.format(dFahrenTemp);//单独写这一行没用，在输出时格式化才能起作用
		System.out.println("摄氏温度为34.5°C，对应的华氏温度为" + df.format(temp.dFahrenTemp) + "°F");

		// 给定华氏换摄氏，调用方法转换为摄氏温度，并格式化输出
		temp.dFahrenTemp = 150.99;
		temp.dCentiTemp = changeFahren2Centi(temp.dFahrenTemp);
		System.out.println("华氏温度为150°F，对应的摄氏温度为" + df.format(temp.dCentiTemp) + "°C");

	}

	/* 
	 * 华氏转摄氏
	 * @dTemp 
	 * @return dTemp2Centi 将转换得到的温度传回
	 * 
	 */
	static double changeFahren2Centi(double dTemp) {
		
		double dTemp2Centi = 0;
		dTemp2Centi = (dTemp - 32) / 9 * 5;
		return dTemp2Centi;
	}

	/* 
	 * 摄氏转华氏
	 * @dTemp 
	 * @return dTemp2Fahren 将转换得到的温度传回
	 * 
	 */
	static double changeCenti2Fahren(double dTemp) {
		//
		double dTemp2Fahren = 0;
		dTemp2Fahren = dTemp * 9 / 5 + 32;
		return dTemp2Fahren;
	}
}
